package main

import (
	"log"
	"time"
)

//GOLANG时间操作

func main() {
	//当前时间戳
	log.Println("当前时间戳：", time.Now().Unix())
	//当前时间戳格式化
	log.Println("当前时间戳格式化1：", time.Now().Format("2006-01-02 15:04:05"))
	log.Println("当前时间戳格式化2：", time.Now().Format("2006-01-02 15:04:05"))
	//时间戳格式化
	str_time := time.Unix(1389058332, 0).Format("2006-01-02 15:04:05")
	log.Println("时间戳格式化：", str_time)
	//时间反格式化成时间戳（月份必须是month）
	the_time := time.Date(2016, 1, 5, 0, 0, 0, 0, time.Local)
	unix_time1 := the_time.Unix()
	log.Println("时间反格式化成时间戳（月份必须是month）：", unix_time1)
	//时间反格式化成时间戳
	the_time, err := time.ParseInLocation("2006-01-02", "2015-04-07", time.Local)
	if err != nil {
		log.Println(err)
	}
	unix_time2 := the_time.Unix()
	log.Println("2015-04-07转成UNIX时间：", unix_time2)
	//1491436800000,2017-04-06
	t := time.Unix(1491436800000, 0) //.Format("2006-01-02 15:04:05") //("2006-01-02 15:04:05")
	log.Println("t:", t.Day())

	start_date := "2015-09-23"                      //取得API调用时，AJAX传来的数据及值
	end_date := "2015-09-23"                        //取得API调用时，AJAX传来的数据及值
	t1, err := time.Parse("2006-01-02", start_date) //开始时间改成00:00小时，并转成UNIX时间
	t2, err := time.Parse("2006-01-02", end_date)   //结束时间改成00:00小时，并转成UNIX时间
	addhour, _ := time.ParseDuration("23h")
	addmin, _ := time.ParseDuration("59m")
	t2 = t2.Add(addhour) //结束时间增加23小时
	t2 = t2.Add(addmin)  //结束时间增加59分钟
	log.Println("start_date:", start_date, "，t1:", t1.String(), "，t2:", t2.String(), "err:", err)
	log.Println("start修改为凌晨后：", t1.Format("2006-01-02 15:04:05"), "end修改为24点后：", t2.Format("2006-01-02 15:04:05"))
}
